package entidades;

import util.MySQL;
import java.util.List;
import java.util.HashMap;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.google.gson.Gson;

/**
 *
 * @author JFM
 */
abstract public class EntidadSimple extends Entidad
	{
	protected String descripcion;

	
	// --- Constructores --- //

	public EntidadSimple()
		{
		super();
		this.descripcion = "";
		}
	
	public EntidadSimple(int id) throws SQLException
		{ super(id); }

	public EntidadSimple(String id) throws SQLException
		{ super(id); }

	public EntidadSimple(ResultSet result) throws SQLException
		{ super(result); }

	public EntidadSimple(ResultSet result, String prefix) throws SQLException
		{ super(result, prefix); }



	// --- Metodos get()/set() --- //

	public String getDescripcion()
		{ return descripcion; }
	public void setDescripcion(String descripcion)
		{ this.descripcion = (descripcion != null)? descripcion : ""; }

	public String getDescriptor()
		{ return descripcion; }

	public String toJson()
		{ return "{\"id\":"+id+",\"descripcion\":\""+descripcion+"\"}"; }

	@Override
	public String toString()
		{ return descripcion; }

	// --- Metodos MySQL --- //

	@Override
	public void leer(ResultSet result, String prefijo) throws SQLException
		{
		this.setId(result.getInt(prefijo + "id"));
		this.setDescripcion(result.getString(prefijo + "descripcion"));
		}

	@Override
	public void guardar() throws SQLException
		{ MySQL.executeUpdate("INSERT INTO " + this.getNombreTabla() + " (id, descripcion) VALUES ("+MySQL.formatId(this.id)+", "+MySQL.format(this.descripcion)+")"); }

	}
